home *** CD-ROM | disk | FTP | other *** search
- Subject: Re: Colour.
- Date: Tue, 31 May 1994 10:29:48 +1000
- From: Warwick Allison <warwick@cs.uq.oz.au>
- Precedence: bulk
-
- In message <9405301326.AA08685@phlem.ph.kcl.ac.uk>, you wrote:
- >
- >> - When should a user desire to change [the std 16 colours]?
- >
- >I don't see this as our concern - if a user wishes to change the colours,
- >let him/her. Presumably (s)he has a good reason to do it...
-
- It becomes an issue if an application wants to assume colours for colour
- icons. [btw, hands up all those who think the colour icon extension is
- is technically deficient]
-
-
- >> - Sharing colours
- >> - No point each program allocating its own Purple
- >> - When colours must be changed, it would be nice for
- >> the actual palette change to be minimized (eg. purple
- >> changes to dark purple, not green)
- >
- >The problem here is that GEM (unlike X) has no concept of shared colourmaps.
- >All colour resources are global. This is a pity, but I can't see Atari doing
- >anything about it. They could add the functionality to MultiTOS though.
- >(eg: send a WM_REMAPCOLS on a window change)
-
- Indeed, a concurrent application could handle all colour changes. All this
- colour-handling is really only an issue under MultiTOS, so such an application
- can easily be assumed (and if it doesn't exist, just hog colours like apps
- used to be able to do).
-
-
- >> - True Colour emulations
- >> - Some programs use a 5x5x5 or 6x6x6 colourspace, and
- >> these should all be the same space.
- >
- >Perhaps we need the equivalent of Visuals on a app-by-app basis. So an app
- >could register its intent to use a 'type' of colourmap. So if we support
- >6x6x6 as PSEUDOTRUE, a STANDARD 256 and 16-entry (depending on display
- > depth)
- >colourmap, and a PRIVATE 256 & 16-entry colourmap, any app could know what
- >type of colourmap is currently selected, and on receiving WM_TOPPED, could set
- >its own colourmap if necessary.
-
- If, as another poster suggested, WM_TOPPED messages are broadcast, then a
- colour server could handle all this without consultation with the app.
-
-
- >You'd end up with:
- >
- > cmsPresent = 1;
- > cmsRegister(PRIVATE);
- > cmsSetPalette(depth, uchar *R, uchar *G, uchar *B);
- errr... shorts, not uchars. 0..1000, remember :)
- are these arrays shared memory?
- > cmsChangePalette();
-
-
- >Of course, the main drawback is that no current apps will support this, but
- >since there isn't already a standard, I don't see that anything could get
- >around this.
-
- And the sooner a good system can be formulated, the less non-conformant
- apps there will be. We are lucky: not many old apps use colour.
-
-
- >I'm dubious about whether changing on manipulation is a good idea. I suppose
- >it is, but it makes implementation more difficult.
-
- As more applications use a click-on-background-windows approach (and they
- will, as more people start using screens with sufficient space to have
- non-overlapping windows). Falcon graphics, especially with BlowUp/etc,
- and graphics cards make this a reality.
-
-
- >A program (GEMCMS.PRG) in the auto folder could register the cookie, and
- >reserve mem for (say) 30 apps.
-
- Forget auto prgs. Think APPLICATIONS. The CMS could simply be an application
- to which messages are passed. Colour handling is only an issue under MultiTOS,
- so we can use a MultiTOS solution. (or Geneva, of course)
-
-
- --
- Warwick
-